package com.wtwd.wtwddevice.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.wtwd.device.model.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 
 * </p>
 *
 * @author mjy
 * @since 2024-05-14
 */
@ApiModel(value="Device对象", description="")
public class Device extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "默认为空表示手表 1.充电仓，2电子烟 ")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "Mac地址")
    private String macAddress;

    @ApiModelProperty(value = "imei")
    private String imei;
    @ApiModelProperty(value = "是否激活，0：未激活，1激活")
    private Integer activation;

    @ApiModelProperty(value = "手表模型----手表类型id")
    private String watchId;

    @ApiModelProperty(value = "当前版本")
    private String currentFirmware;

    @ApiModelProperty(value = "目标版本")
    private String targetFirmware;

    @ApiModelProperty(value = "客户id")
    private Long customerId;

    @ApiModelProperty(value = "设备绑定用户的id")
    private Long appUserId;

    @ApiModelProperty(value = "经度")
    private String lng;

    @ApiModelProperty(value = "纬度")
    private String lat;

    @ApiModelProperty(value = "国家区域")
    private String area;

    @ApiModelProperty(value = "设备名称，用户绑定时传")
    private String name;

    @ApiModelProperty(value = "设备广播地址id-ios绑定时必传,ios需求")
    private String uuId;

    @ApiModelProperty(value = "设备激活时间")
    private Long activeTime;

    @ApiModelProperty(value = "上个版本，版本号")
    private String previousVersion;

    @ApiModelProperty(value = "默认为0表示手表 1.充电仓，2电子烟 ")
    private Integer deviceType;

    @ApiModelProperty(value = "当前设备连接设备服务器地址")
    private String host;

    @ApiModelProperty(value = "SIM卡卡号")
    private String iccid;

    @ApiModelProperty(value = "是否激活(与服务器建立一次连接后既激活0:未激活,1:激活)")
    private Integer isActivate;

    @ApiModelProperty(value = "设备定位类型 1=GPS, 2=CellID, 3=AGPS")
    private String deviceLocationType;

//    @ApiModelProperty(value = "软件版本号")
//    private String softwareVersion;

    @ApiModelProperty(value = "固件版本号")
    private String deviceVersion;

    @ApiModelProperty(value = "MODEM固件版本")
    private String modemDeviceVersion;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getMacAddress() {
        return macAddress;
    }

    public void setMacAddress(String macAddress) {
        this.macAddress = macAddress;
    }

    public Integer getActivation() {
        return activation;
    }

    public void setActivation(Integer activation) {
        this.activation = activation;
    }

    public String getWatchId() {
        return watchId;
    }

    public void setWatchId(String watchId) {
        this.watchId = watchId;
    }

    public String getCurrentFirmware() {
        return currentFirmware;
    }

    public void setCurrentFirmware(String currentFirmware) {
        this.currentFirmware = currentFirmware;
    }

    public String getTargetFirmware() {
        return targetFirmware;
    }

    public void setTargetFirmware(String targetFirmware) {
        this.targetFirmware = targetFirmware;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public Long getAppUserId() {
        return appUserId;
    }

    public void setAppUserId(Long appUserId) {
        this.appUserId = appUserId;
    }

    public String getLng() {
        return lng;
    }

    public void setLng(String lng) {
        this.lng = lng;
    }

    public String getLat() {
        return lat;
    }

    public void setLat(String lat) {
        this.lat = lat;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUuId() {
        return uuId;
    }

    public void setUuId(String uuId) {
        this.uuId = uuId;
    }

    public Long getActiveTime() {
        return activeTime;
    }

    public void setActiveTime(Long activeTime) {
        this.activeTime = activeTime;
    }

    public String getPreviousVersion() {
        return previousVersion;
    }

    public void setPreviousVersion(String previousVersion) {
        this.previousVersion = previousVersion;
    }

    public Integer getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(Integer deviceType) {
        this.deviceType = deviceType;
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public String getIccid() {
        return iccid;
    }

    public void setIccid(String iccid) {
        this.iccid = iccid;
    }

    public Integer getIsActivate() {
        return isActivate;
    }

    public void setIsActivate(Integer isActivate) {
        this.isActivate = isActivate;
    }

    public String getDeviceLocationType() {
        return deviceLocationType;
    }

    public void setDeviceLocationType(String deviceLocationType) {
        this.deviceLocationType = deviceLocationType;
    }

//    public String getSoftwareVersion() {
//        return softwareVersion;
//    }
//
//    public void setSoftwareVersion(String softwareVersion) {
//        this.softwareVersion = softwareVersion;
//    }

    public String getDeviceVersion() {
        return deviceVersion;
    }

    public void setDeviceVersion(String deviceVersion) {
        this.deviceVersion = deviceVersion;
    }

    public String getModemDeviceVersion() {
        return modemDeviceVersion;
    }

    public void setModemDeviceVersion(String modemDeviceVersion) {
        this.modemDeviceVersion = modemDeviceVersion;
    }

    public String getImei() {
        return imei;
    }

    public void setImei(String imei) {
        this.imei = imei;
    }

    @Override
    public String toString() {
        return "Device{" +
                "id=" + id +
                ", macAddress='" + macAddress + '\'' +
                ", imei='" + imei + '\'' +
                ", activation=" + activation +
                ", watchId='" + watchId + '\'' +
                ", currentFirmware='" + currentFirmware + '\'' +
                ", targetFirmware='" + targetFirmware + '\'' +
                ", customerId=" + customerId +
                ", appUserId=" + appUserId +
                ", lng='" + lng + '\'' +
                ", lat='" + lat + '\'' +
                ", area='" + area + '\'' +
                ", name='" + name + '\'' +
                ", uuId='" + uuId + '\'' +
                ", activeTime=" + activeTime +
                ", previousVersion='" + previousVersion + '\'' +
                ", deviceType=" + deviceType +
                ", host='" + host + '\'' +
                ", iccid='" + iccid + '\'' +
                ", isActivate=" + isActivate +
                ", deviceLocationType='" + deviceLocationType + '\'' +
                ", deviceVersion='" + deviceVersion + '\'' +
                ", modemDeviceVersion='" + modemDeviceVersion + '\'' +
                '}';
    }
}
